The idea of functorial semantics